package com.primeton.wh.mcenter.api.model;

import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * Created by jinyabin on 2020/8/11.
 */
public class MessageApplicationVO extends Model<Message> {

        //原先是  类型是  ASSIGN_ID
        private String mcId;

        /**
         * 消息标题
         */
        private String mcTitle;

        /**
         * 消息内容
         */
        private String mcContent;

        /**
         * 消息内容带格式(站内信专用)
         */
        private String mcContentHtml;

        /**
         * 消息目录ID
         */
        private String mcCateforyId;

        /**
         * 1短信；2邮件；3站内信
         */
        private String mcType;

        /**
         * 通知级别1级最高
         */
        private Integer mcLeave;

        /**
         * 状态：0未推送，1已推送，2已阅读，3已作废
         */
        private Integer mcStatus;

        /**
         * 通知创建时间
         */
        private Date mcCreatetime;

        private String mcAppCode;

        private String startDate;

        private String  endDate;


    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    /**
         * 通知推送时间
         */
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") //Jackson包使用注解
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //格式化前台日期参数注解
        private Date mcSendtime;

        public Date getMcEffecttime() {
            return mcEffecttime;
        }

        public void setMcEffecttime(Date mcEffecttime) {
            this.mcEffecttime = mcEffecttime;
        }

        /**
         * 延迟时间
         */
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") //Jackson包使用注解
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //格式化前台日期参数注解
        private Date mcEffecttime;

        /**
         * 通知推送次数
         */
        private Integer mcSendTimes;

        /**
         * 发送方所属系统code
         */
        private String mcFromSysCode;

        /**
         * 发送方所属机构code
         */
        private String mcFromOrgCode;

        /**
         * 发送方所属部门code
         */
        private String mcFromDeptCode;

        /**
         * 发送人empcode|邮件|电话
         */
        @NotNull(message = "type cannot be null")
        private String mcFrom;

        /**
         * 发送人姓名
         */
        private String mcFromEmpName;

        /**
         * 收件方所属系统code
         */
        private String mcToSysCode;

        /**
         * 收件方所属机构code
         */
        private String mcToOrgCode;

        /**
         * 收件方所属部门code
         */
        private String mcToDeptCode;

        /**
         * 收件人empcode|邮件|电话
         */
        @NotNull(message = "type cannot be null")
        private String mcTo;

        /**
         * 收件人姓名
         */
        private String mcToEmpName;

        /**
         * 批次号
         */
        private String mcBatchId;

        /**
         * 应用名称
         * */
        private String appName;


    public String getAppName() {
        return appName;
    }

    public void setAppName(String appName) {
        this.appName = appName;
    }

    public String getMcId() {
            return mcId;
        }

        public String getMcTitle() {
            return mcTitle;
        }

        public String getMcContent() {
            return mcContent;
        }

        public String getMcContentHtml() {
            return mcContentHtml;
        }

        public String getMcCateforyId() {
            return mcCateforyId;
        }

        public String getMcType() {
            return mcType;
        }

        public Integer getMcLeave() {
            return mcLeave;
        }

        public Integer getMcStatus() {
            return mcStatus;
        }

        public Date getMcCreatetime() {
            return mcCreatetime;
        }

        public Date getMcSendtime() {
            return mcSendtime;
        }

        public Integer getMcSendTimes() {
            return mcSendTimes;
        }

        public String getMcFromSysCode() {
            return mcFromSysCode;
        }

        public String getMcFromOrgCode() {
            return mcFromOrgCode;
        }

        public String getMcFromDeptCode() {
            return mcFromDeptCode;
        }

        public String getMcFrom() {
            return mcFrom;
        }

        public String getMcFromEmpName() {
            return mcFromEmpName;
        }

        public String getMcToSysCode() {
            return mcToSysCode;
        }

        public String getMcToOrgCode() {
            return mcToOrgCode;
        }

        public String getMcToDeptCode() {
            return mcToDeptCode;
        }

        public String getMcTo() {
            return mcTo;
        }

        public String getMcToEmpName() {
            return mcToEmpName;
        }

        public String getMcBatchId() {
            return mcBatchId;
        }

        public void setMcId(String mcId) {
            this.mcId = mcId;
        }

        public void setMcTitle(String mcTitle) {
            this.mcTitle = mcTitle;
        }

        public void setMcContent(String mcContent) {
            this.mcContent = mcContent;
        }

        public void setMcContentHtml(String mcContentHtml) {
            this.mcContentHtml = mcContentHtml;
        }

        public void setMcCateforyId(String mcCateforyId) {
            this.mcCateforyId = mcCateforyId;
        }

        public void setMcType(String mcType) {
            this.mcType = mcType;
        }

        public void setMcLeave(Integer mcLeave) {
            this.mcLeave = mcLeave;
        }

        public void setMcStatus(Integer mcStatus) {
            this.mcStatus = mcStatus;
        }

        public void setMcCreatetime(Date mcCreatetime) {
            this.mcCreatetime = mcCreatetime;
        }

        public void setMcSendtime(Date mcSendtime) {
            this.mcSendtime = mcSendtime;
        }

        public void setMcSendTimes(Integer mcSendTimes) {
            this.mcSendTimes = mcSendTimes;
        }

        public void setMcFromSysCode(String mcFromSysCode) {
            this.mcFromSysCode = mcFromSysCode;
        }

        public void setMcFromOrgCode(String mcFromOrgCode) {
            this.mcFromOrgCode = mcFromOrgCode;
        }

        public void setMcFromDeptCode(String mcFromDeptCode) {
            this.mcFromDeptCode = mcFromDeptCode;
        }

        public void setMcFrom(String mcFrom) {
            this.mcFrom = mcFrom;
        }

        public void setMcFromEmpName(String mcFromEmpName) {
            this.mcFromEmpName = mcFromEmpName;
        }

        public void setMcToSysCode(String mcToSysCode) {
            this.mcToSysCode = mcToSysCode;
        }

        public void setMcToOrgCode(String mcToOrgCode) {
            this.mcToOrgCode = mcToOrgCode;
        }

        public void setMcToDeptCode(String mcToDeptCode) {
            this.mcToDeptCode = mcToDeptCode;
        }

        public void setMcTo(String mcTo) {
            this.mcTo = mcTo;
        }

        public void setMcToEmpName(String mcToEmpName) {
            this.mcToEmpName = mcToEmpName;
        }

        public void setMcBatchId(String mcBatchId) {
            this.mcBatchId = mcBatchId;
        }



        @Override
        public String toString() {
            return "Message{" +
                    "mcId=" + mcId +
                    ", mcTitle=" + mcTitle +
                    ", mcContent=" + mcContent +
                    ", mcContentHtml=" + mcContentHtml +
                    ", mcCateforyId=" + mcCateforyId +
                    ", mcType=" + mcType +
                    ", mcLeave=" + mcLeave +
                    ", mcStatus=" + mcStatus +
                    ", mcCreatetime=" + mcCreatetime +
                    ", mcSendtime=" + mcSendtime +
                    ", mcSendTimes=" + mcSendTimes +
                    ", mcFromSysCode=" + mcFromSysCode +
                    ", mcFromOrgCode=" + mcFromOrgCode +
                    ", mcFromDeptCode=" + mcFromDeptCode +
                    ", mcFrom=" + mcFrom +
                    ", mcFromEmpName=" + mcFromEmpName +
                    ", mcToSysCode=" + mcToSysCode +
                    ", mcToOrgCode=" + mcToOrgCode +
                    ", mcToDeptCode=" + mcToDeptCode +
                    ", mcTo=" + mcTo +
                    ", mcToEmpName=" + mcToEmpName +
                    ", mcBatchId=" + mcBatchId +
                    "}";
        }

        public String getMcAppCode() {
            return mcAppCode;
        }

        protected Serializable pkVal() {
            return this.mcId;
        }

        public void setMcAppCode(String mcAppCode) {
            this.mcAppCode = mcAppCode;
        }
    }



